<?php

class CRUD_Archivos {
    
    var $constant="AVALADO";
    var $constantfec="Of.";
    function getvalues($colum, $filename) {
        echo "<br>".$filename."<br>";
        include("Modelo/conexionphp.php");
         //$this->$constant="AVALADO por Junta Directiva de la Facultad de Humanidades, en el punto";
        // Test CVS
       // echo "no lo se :(<br>";
        require_once 'ModuloCRUDArchivos/phpExcelReader/reader.php';
        
        // ExcelFile($filename, $encoding);
        $data = new Spreadsheet_Excel_Reader();
        
        // Set output Encoding.
        $carnets =  array();
        $code="";
        $id_sede= array();
        $cod_carrera="";
        $acta="";
        $fecha_cierre=array();
        $fecha_emision="";
        $nombre=array();
        $punto="QUINTO";
        $fecha_fin="";
        $data->setOutputEncoding('CP1251');
        $data->read($filename);
        error_reporting(E_ALL ^ E_NOTICE);

     // echo "no lo se :(  2<br>";
      foreach($data->sheets as $x => $y){
          //getting the name of the sheet
         // echo "no lo se :(  3<br>";
          $cod_carrera=$data->boundsheets[$x]['name'];
        for ($i = 1; $i <= $data->sheets[$x]['numRows']; $i++) {
           // echo "no lo se :(  4 <br>";
            //echo "no lo se :(  $i <br>";
            $celda=$data->sheets[$x]['cells'][$i][$colum];
            //if the celd is a carnet
            if(strlen($celda)>0 && is_numeric($celda)){
                $nombre[]=$data->sheets[$x]['cells'][$i][$colum-1];
                $id_sede[]=$data->sheets[$x]['cells'][$i][$colum+2];
                $carnets[]=$celda;
                $fecha_cierre[]=$data->sheets[$x]['cells'][$i][$colum+1];
            }
            //if the cell is a code of the page
            if(!(strpos($data->sheets[$x]['cells'][$i][$colum+1],$this->constantfec)===false)
                    || !(strpos($data->sheets[$x]['cells'][$i][$colum],$this->constantfec)===false)){
                $fecha_emision=$data->sheets[$x]['cells'][$i+1][$colum+1];
                if(strlen($fecha_emision)<2){
                    $fecha_emision=$data->sheets[$x]['cells'][$i+1][$colum];
                }
                
                $code=$data->sheets[$x]['cells'][$i][$colum+1];
                if(strlen($code)<2){
                    $code=$data->sheets[$x]['cells'][$i][$colum];
                }
                
              //  echo $data->sheets[$x]['cells'][$i][$colum+1]."-////-"."<br>";
            }
            //if the cell contains avalado
            if(!(strpos($data->sheets[$x]['cells'][$i][$colum-2],$this->constant)===false)
                    or !(strpos($data->sheets[$x]['cells'][$i][$colum-1],$this->constant)===false)){
                $acta =$data->sheets[$x]['cells'][$i+1][$colum-2];
                
                if(strlen($acta)<2){
                    $acta =$data->sheets[$x]['cells'][$i+1][$colum-1];
                }
                
                $punto=$data->sheets[$x]['cells'][$i][$colum+2];
                $fecha_fin=$data->sheets[$x]['cells'][$i+1][$colum+1];
                 if(strlen($fecha_fin)<2){
                    $fecha_fin=$data->sheets[$x]['cells'][$i+1][$colum];
                }
                
                echo $this->insert($carnets, $nombre,$code, $fecha_cierre, $id_sede, $cod_carrera, $acta,
                                    $fecha_emision,$punto,$fecha_fin);
                        $carnets =  array();
                        $code="";
                        $id_sede= array();
                        $fecha_cierre=array();
                        $fecha_emision="";
                        $nombre=array();
                //echo $data->sheets[$x]['cells'][$i][$colum-2]."--"."<br>";
            }
        }
        
      }
      //echo "begin------";
    //foreach($carnets as $carnet){
      //  echo $carnet."<br>";
    //}
      
    }
    
    function insert($carnets,$nombre,$code ,$date_p, $id_sede, $cod_carrera,$acta,$fecha_emision,$punto,$fecha_fin) {
        $code=  trim(substr($code, -12));
        if(!(strpos(",",$code)==false)){
            $code=str_replace(",", ".", $code);
        }
        $cadena= "<br><br><br>BEGINING".$code."--".$fecha_emision."----".$cod_carrera."<br>";
        $cadena= $cadena.$this->getdate($fecha_emision)."<br>";
        $i=0;
        $punto= trim(str_replace("PUNTO","", strtoupper($punto)));
        
        $encontrado=strpos($acta, ",");
        //$acta=  str_replace("del", ",",$acta);
        if($encontrado==false){
            //inciso 5.2 subinciso 5.2.13 del Acta No. 027-2006
            $acta=  str_replace("del", ",",$acta);
        }
            //inciso 5.2 subinciso 5.2.19, del Acta No. 027-2006
            $incisoActa=split(",", $acta);
            $sub=  str_replace("inciso", "",$incisoActa[0]);
            $subeinciso=split("sub", $sub);
            $inciso =trim($subeinciso[0]);//substr($sub, 0,4);
            $subinciso=trim($subeinciso[1]);//substr($sub,-7);        
            $actaReal=trim(substr($incisoActa[1], -8));
        
        if(strpos($punto, "O")==false){
            $punto="QUINTO";
        }
        $fecha_fin=$this->getdate($fecha_fin);
        $cadena = $cadena."carnet--"."codigo_Carrera"."fecha_cierre".""."<br>";
        
        
        foreach($carnets as $carnet){        
            $fechaCierre=$this->getcierre($date_p[$i]);
            
            $cadena =$cadena.$carnet."--".$id_sede[$i]."--".$fechaCierre."--:S--".$date_p[$i]."---<br>";
            //$code,$carnet,$fecha_ingreso, $id_sede, $fechafin,$carrera,
            //$fecha_emision,$acta,$inciso,$subinciso,$punto,$fechaCierre
            /*$cadena =$cadena.$this->sendMysql("","",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "","","");*/
           // $code,$carnet,$nombre,$fecha_ingreso, $id_sede, $fechafin,$carrera,
           // $fecha_emision,$acta,$inciso,$subinciso,$punto,$fechaCierre
           echo $this->sendMysql($code,$carnet,
                    $nombre[$i],
                    $this->getdate($fecha_emision),
                    $id_sede[$i],
                    $fecha_fin,
                    $cod_carrera,
                    $this->getdate($fecha_emision),
                    $actaReal,
                    $inciso,$subinciso,$punto,$fechaCierre);
           
           
            $i++;
        }
        


            
        
        $cadena = $cadena."<br>".$acta."<br>";
        $cadena = $cadena.$inciso."--inciso<br>";
        $cadena = $cadena.$subinciso."--subinciso<br>";
        $cadena = $cadena.$actaReal."--actareal<br>";
        $cadena = $cadena.$punto."--punto<br>";
        $cadena = $cadena.$fecha_fin."--fecha_fin<br>";
        return $cadena;
    }
    
    function sendMysql($code,$carnet,$nombre,$fecha_ingreso, $id_sede, $fechafin,$carrera,
            $fechaEmision,$acta,$inciso,$subinciso,$punto,$fechaCierre){
        $fechaEmision=trim($fechaEmision);
        $fechaCierre=trim($fechaCierre);
        $fechafin=trim($fechafin);
        $fecha_ingreso=trim($fecha_ingreso);
        /*code
        carnet
        fecha_ingreso
        sede 	
        fechafin
        carrera 	
        fecha_emision
        acta 	
        inciso 	
        subinciso 	 	
        punto 	
        fecha_cierre
         */
        //$cadena="carnet--"."codigo_Carrera"."fecha_cierre".""."<br>";
        //$cadena=$cadena.$carnet."--".$id_sede[$i]."--".$date_p[$i]."--"."<br>";
        $nombres=  str_replace("**", "Ñ", $nombre);
        $sql="Insert into maestra_excel values(null,
                '$code',
                $carnet,
                '$nombres',
                str_to_date('$fecha_ingreso', '%d/%m/%Y'),
                '".$id_sede."',
                str_to_date('$fechafin', '%d/%m/%Y'),
                '$carrera',
                str_to_date('$fechaEmision', '%d/%m/%Y'),
                '$acta',
                '$inciso',
                '$subinciso',
                '$punto',
                str_to_date('$fechaCierre', '%d/%m/%Y'));";
        
        
            $conection=new DBManager;
            if($conection->conectar()==true){
			//$val=mysql_query("Select * from User");
                       // $val=mysql_query($sql);
                
                               //         "Insert into maestra values(null,$code,$carnet,$fecha_ingreso,
                               //             ,$id_sede,$fechafin,$carrera,$fecha_emision,$acta,$inciso,
                              //                  $subinciso,$punto,$fechaCierre)");
			}
	
                        $conection->cerrar();
          
          
        return $sql."<br>";              
        //return "****<br>";              
    }

    function getdate($date){
       $newdate=  substr($date, 10);
       //echo $newdate."*---------************";
       if((strpos("de ", $newdate)==false)){
            $dates=  split(" de ", $newdate);
            return $dates[0]."/".$this->getmes(trim($dates[1]))."/".$dates[2];
       }
       return "01/01/1990";
    }
    
    function getcierre($date){
        if(strpos($date, ",")==false){
            $date2= str_replace(".",",", $date);
            $date= str_replace("-",",", $date2);
            $list=split(",",$date);
            if(count($list)>2){
                return str_replace(",","/", $date);
            }
            return "01/".$this->getmes($list[0])."/".trim($list[1]);
        }
        else{
            return str_replace(",", "/",$date);
        }
    }
    function getmes($mes){
       /// echo "<br>************".strtoupper($mes)."****"."*********<br>";
        if(strtoupper($mes)=="ENERO" || strtoupper($mes)=="ENE")
            return "01";
        if(strtoupper($mes)=="FEBRERO" || strtoupper($mes)=="FEB")
            return "02";
        if(strtoupper($mes)=="MARZO" || strtoupper($mes)=="MAR" || strtoupper($mes)=="MARZ")
            return "03";
        if(strtoupper($mes)=="ABRIL" || strtoupper($mes)=="ABR")
            return "04";
        if(strtoupper($mes)=="MAYO" || strtoupper($mes)=="MAY")
            return "05";
        if(strtoupper($mes)=="JUNIO" || strtoupper($mes)=="JUN")
            return "06";         
        if(strtoupper($mes)=="JULIO" || strtoupper($mes)=="JUL")
            return "07";
        if(strtoupper($mes)=="AGOSTO" || strtoupper($mes)=="AGO")
            return "08";
        if(strtoupper($mes)=="SEPTIEMBRE" || strtoupper($mes)=="SEP" || strtoupper($mes)=="SEPT")
            return "09";
        if(strtoupper($mes)=="OCTUBRE" || strtoupper($mes)=="OCT")
            return "10";        
        if(strtoupper($mes)=="NOVIEMBRE" || strtoupper($mes)=="NOV")
            return "11";
        if(strtoupper($mes)=="DICIEMBRE" || strtoupper($mes)=="DIC")
            return "12";    
        return "13";
    }
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
?>
